/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wangxin
 * Date: 2024-09-07
 * Time: 10:25
 */
// class Data{
//     public int a;
//     public int b;
//}
//class Num extends Data{
//     public int c;
//     public void func(){
//         a = 10; // 访问从父类中继承下来的a
//         b = 20; // 访问从父类中继承下来的b
//         c = 30; // 访问子类自己的c
//
//         System.out.println(a + " "+b + " " + c);
//     }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func();
//    }
//}
//class Data{
//    public int a = 10;
//    public int b = 20;
//    public int c = 30;
//}
//class Num extends Data{
//    public int c = 60;
//    public void func(){
//
//        System.out.println(a + " "+b + " " + c);
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func();
//    }
//}
//class Data{
//    public int a ;
//    public int b ;
//    public int c ;
//}
//class Num extends Data{
//    public int c;
//    public void func(){
//        a = 10;
//        b = 20;
//        c = 30;
//        d = 40;
//        System.out.println(a + " "+b + " " + c);
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func();
//    }
//}
//class Data{
//   public void func1(){
//       System.out.println("Data中的func1方法！");
//   }
//}
//class Num extends Data{
//
//    public void func2(){
//        System.out.println("Num中的func2方法！");
//    }
//    public void func3(){
//        func1();
//        func2();
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func3();
//    }
//}
//class Data{
//    public void func1(){
//        System.out.println("Data中的func1方法！");
//    }
//}
//class Num extends Data{
//
//    public void func2(){
//        System.out.println("Num中的func2方法！");
//    }
//    public void func3(){
//        func4();
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func3();
//    }
//}
//class Data{
//    public void func1(){
//        System.out.println("Data中的func1方法！");
//    }
//    public void func2(){
//        System.out.println("Data中的func2方法！");
//    }
//}
//class Num extends Data{
//    public void func1( int a){
//        System.out.println("Num中的func1(int)方法！");
//    }
//    public void func2(){
//        System.out.println("Num中的func2方法！");
//    }
//    public void func3(){
//        func1();        // 没有传参，访问父类中的func1()
//        func1(20);   // 传递int参数，访问子类中的func1(int)
//        func2();        // 直接访问，则永远访问到的都是子类中的func2()，基类的无法访问到
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func3();
//    }
//}
//class Data{
//    int a;
//    int b;
//    public void func1(){
//        System.out.println("Data中的func1方法！");
//    }
//    public void func2(){
//        System.out.println("Data中的func2方法！");
//    }
//}
//class Num extends Data{
//    int a;  // 与父类中成员变量同名且类型相同
//    char b; // 与父类中成员变量同名但类型不同
//            // 与父类中func1()构成重载
//    public void func1( int a){
//        System.out.println("Num中的func1(int)方法！");
//    }
//            // 与父类中func2()构成重写
//    public void func2(){
//        System.out.println("Num中的func2方法！");
//    }
//    public void func3(){
//        // 对于同名的成员变量，直接访问时，访问的都是子类的
//        a = 100; // 等价于： this.a = 100;
//        b = 101; // 等价于： this.b = 101;
//// 注意：this是当前对象的引用
//// 访问父类的成员变量时，需要借助super关键字
//// super是获取到子类对象中从基类继承下来的部分
//        super.a = 200;
//        super.b = 201;
//// 父类和子类中构成重载的方法，直接可以通过参数列表区分清访问父类还是子类方法
//        func1(); // 没有传参，访问父类中的func1()
//        func1(20); // 传递int参数，访问子类中的func1(int)
//// 如果在子类中要访问重写的基类方法，则需要借助super关键字
//        func2(); // 直接访问，则永远访问到的都是子类中的func2()，基类的无法访问到
//        super.func2(); // 访问基类的func2()
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//        n.func3();
//    }
//}
//class Data{
//    public Data(){
//        System.out.println("Data()");
//    }
//}
//class Num extends Data{
//    public Num(){
//        System.out.println("Num()");
//    }
//
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num();
//
//    }
//}
//class Data{
//    public int a;
//    public int b;
//    public Data(int a,int b){
//        this.a = a;
//        this.b = b;
//    }
//}
//class Num extends Data{
//    public int c;
//    public Num(int a,int b,int c){
//        super(a,b);
//        this.c = c;
//
//
//    }
//    public void func(){
//        System.out.println(a + " "+b + " " + c);
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num(10,20,30);
//        n.func();
//    }
//}

//public class test3 {
//    public static void main(String[] args) {
//        final int a = 10;
//        a = 20;
//    }
//}
//final class Data{
//    public int a;
//    public int b;
//    public Data(int a,int b){
//        this.a = a;
//        this.b = b;
//    }
//}
// class Num extends Data{
//    public int c;
//    public Num(int a,int b,int c){
//        super(a,b);
//        this.c = c;
//
//
//    }
//    public void func(){
//        System.out.println(a + " "+b + " " + c);
//    }
//}
//public class test3 {
//    public static void main(String[] args) {
//        Num n = new Num(10,20,30);
//        n.func();
//    }
//}

//// 轮胎类
//class Tire{
//// ...
//}
//// 发动机类
//class Engine{
//// ...
//}
//// 车载系统类
//class VehicleSystem{
//// ...
//}
//class Car{
//    private Tire tire; // 可以复用轮胎中的属性和方法
//    private Engine engine; // 可以复用发动机中的属性和方法
//    private VehicleSystem vs; // 可以复用车载系统中的属性和方法
//// ...
//}
//// 奔驰是汽车
//class Benz extends Car{
//// 将汽车中包含的：轮胎、发送机、车载系统全部继承下来
//}
class Data{
    private int a = 10;
    int b = 20;
    protected int c = 30;
    public int d = 40;
    public static void main(String[] args) {
        Data data = new Data();
        System.out.print("a = " + data.a + " ");
        System.out.print("b = " + data.b + " ");
        System.out.print("c = " +data.c + " ");
        System.out.print("d = " +data.d);

    }
}
//class Data{
//    private int a = 10;
//    int b = 20;
//    protected int c = 30;
//    public int d = 40;
//
//}
//public class test3 {
//    public static void main(String[] args) {
//        Data data = new Data();
//        System.out.print("a = " + data.a + " ");
//        System.out.print("b = " + data.b + " ");
//        System.out.print("c = " +data.c + " ");
//        System.out.print("d = " +data.d);
//    }
//}